﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using CDSBDemandControl.Model;

namespace CDSBDemandControl.Model
{
    [Serializable]
    public class XMLDemandModel : DemandModelBase
    {
        public DemandCollection Revision { get; set; }
        public DateTime DataIncFila { get; set; }        
        public string Origin { get; set; }
        public string Gravity { get; set; }
        public string Priority { get; set; }
        public string Justification { get; set; }
        public bool IsSimultaneous { get; set; }

        public DateTime EstimatedStart { get; set; }
        public DateTime EstimatedConclude { get; set; }

        public DateTime Start { get; set; }
        public DateTime Conclude { get; set; }

        #region Em avaliação de demanda
        public DateTime AssessingDemandPlannedStartDate { get; set; }
        public DateTime AssessingDemandPlannedEndDate { get; set; }
        public Decimal AssessingDemandPlannedTime { get; set; }
        public DateTime AssessingDemandRealizedStartDate { get; set; }
        public DateTime AssessingDemandRealizedEndDate { get; set; }
        public Decimal AssessingDemandRealizedTime { get; set; }        
        #endregion

        #region Especificação(Geral)
        public DateTime GeneralPlannedStartDate { get; set; }
        public DateTime GeneralPlannedEndDate { get; set; }
        public Decimal GeneralPlannedTime { get; set; }
        public Complexity GeneralPlannedComplexity { get; set; }
        public DateTime GeneralRealizedStartDate { get; set; }
        public DateTime GeneralRealizedEndDate { get; set; }
        public Decimal GeneralRealizedTime { get; set; }
        public Int32 GeneralRealizedEvolutions { get; set; }
        #endregion

        #region Especificação(Artefatos)(Artefatos de Testes)
        public DateTime MEDRTFPlannedStartDate { get; set; }
        public DateTime MEDRTFPlannedEndDate { get; set; }
        public Decimal MEDRTFPlannedTime { get; set; }
        public Boolean MEDRTFPlannedMassData { get; set; }
        public DateTime MEDRTFRealizedStartDate { get; set; }
        public DateTime MEDRTFRealizedEndDate { get; set; }
        public Decimal MEDRTFRealizedTime { get; set; }
        public Int32 MEDRTFRealizedEvolutions { get; set; }        
        #endregion

        #region Especificação(Artefatos)(Diagramação)
        public DateTime XAMLPlannedStartDate { get; set; }
        public DateTime XAMLPlannedEndDate { get; set; }
        public Decimal XAMLPlannedTime { get; set; }
        public DateTime XAMLRealizedStartDate { get; set; }
        public DateTime XAMLRealizedEndDate { get; set; }
        public Decimal XAMLRealizedTime { get; set; }
        public Int32 XAMLRealizedEvolutions { get; set; }        
        #endregion

        #region Arquitetura
        public DateTime ArchitecturePlannedStartDate { get; set; }
        public DateTime ArchitecturePlannedEndDate { get; set; }
        public Decimal ArchitecturePlannedTime { get; set; }
        public Complexity ArchitecturePlannedComplexity { get; set; }
        public DateTime ArchitectureRealizedStartDate { get; set; }
        public DateTime ArchitectureRealizedEndDate { get; set; }
        public Decimal ArchitectureRealizedTime { get; set; }
        public Int32 ArchitectureRealizedEvolutions { get; set; }
        #endregion

        #region Desenvolvimento
        public DateTime DevelopmentPlannedStartDate { get; set; }
        public DateTime DevelopmentPlannedEndDate { get; set; }
        public Decimal DevelopmentPlannedTime { get; set; }
        public Complexity DevelopmentPlannedComplexity { get; set; }
        public DateTime DevelopmentRealizedStartDate { get; set; }
        public DateTime DevelopmentRealizedEndDate { get; set; }
        public Decimal DevelopmentRealizedTime { get; set; }
        public Int32 DevelopmentRealizedEvolutions { get; set; }        
        #endregion

        #region Testes
        public DateTime TestsPlannedStartDate { get; set; }
        public DateTime TestsPlannedEndDate { get; set; }
        public Decimal TestsPlannedTime { get; set; }
        public DateTime TestsRealizedStartDate { get; set; }
        public DateTime TestsRealizedEndDate { get; set; }
        public Decimal TestsRealizedTime { get; set; }
        public Int32 TestCiclo { get; set; }
        #endregion

        #region Aceite
        public DateTime AcceptedPlannedStartDate { get; set; }
        public DateTime AcceptedPlannedEndDate { get; set; }
        public Decimal AcceptedPlannedTime { get; set; }
        public DateTime AcceptedRealizedStartDate { get; set; }
        public DateTime AcceptedRealizedEndDate { get; set; }
        public Decimal AcceptedRealizedTime { get; set; }
        public Int32 AcceptedRealizedEvolutions { get; set; }
        #endregion

        #region Release
        public DateTime ReleasePlannedStartDate { get; set; }
        public DateTime ReleasePlannedEndDate { get; set; }
        public Decimal ReleasePlannedTime { get; set; }
        public DateTime ReleaseRealizedStartDate { get; set; }
        public DateTime ReleaseRealizedEndDate { get; set; }
        public Decimal ReleaseRealizedTime { get; set; }
        public Int32 ReleaseRealizedEvolutions { get; set; }
        #endregion
    }
}
